Souper: A Synthesizing Superoptimizer
نویسندگان
چکیده
If we can automatically derive compiler optimizations, we might be able to sidestep some of the substantial engineering challenges involved in creating and maintaining a highquality compiler. We developed Souper, a synthesizing superoptimizer, to see how far these ideas might be pushed in the context of LLVM. Along the way, we discovered that Souper’s intermediate representation was sufficiently similar to the one in Microsoft Visual C++ that we applied Souper to that compiler as well. Shipping, or about-to-ship, versions of both compilers contain optimizations suggested by Souper but implemented by hand. Alternately, when Souper is used as a fully automated optimization pass it compiles a Clang compiler binary that is about 3 MB (4.4%) smaller than the one compiled by LLVM.
منابع مشابه
Precondition Inference for Peephole Optimizations in LLVM
Peephole optimizations are a common source of compiler bugs. Compiler developers typically transform an incorrect peephole optimization into a valid one by strengthening the precondition. This process is challenging and tedious. This paper proposes ALIVE-INFER, a data-driven approach that infers preconditions for peephole optimizations expressed in Alive. ALIVE-INFER generates positive and nega...
متن کاملUsing Binary Decision Diagrams to Determine Program Equivalence in a Superoptimizer
A superoptimizer is a tool capable of generating an optimal program that computes a desired function. This thesis describes a superoptimizer that uses binary decision diagrams to determine if a generated candidate programs is equivalent to a given target program known to compute the desired function. The superoptimizer is shown to work well for generating program consisting of instructions no m...
متن کاملLook at the Smal les t Program
Given an instruction set, the superoptimizer finds the shortest program to compute a function. Startling programs have been generated, many of them engaging in convoluted bit-fiddling bearing little resemblance to the source programs which defined the functions. The key idea in the superoptimizer is a probabilistic test that makes exhaustive searches practical for programs of useful size. The s...
متن کاملApplication of Phase Transfer Catalyst for Synthesizing of 5, 5-diphenylimidazolidine-2,4-dione as a Famous Anticonvulsant Drug
Epilepsy is a major neurological disorder in the world and most epileptics are currently controlled by a variety of drugs. 5, 5-diphenylimidazolidine-2,4-dione (Phenytoin, I) is a widely used antiepileptic drug. It has been synthesized previously by different methods in some solvents. In this work, I was synthesized from the condensation of benzil and urea in ethanol and water by application of...
متن کاملTwo novel methods for synthesizing poly (propylene fumarate): Technical aspects and role of vacuum and N2 purging effects
Poly (propylene fumarate) (PPF), a linear unsaturated polyester consisting of alternating propylene glycol and fumaric acid units, can be cured in vivo to fill the skeletal defects with minimal surgical intervention. Many different methods have been reported for synthesizing PPF, but none of them gives a clear method. The present paper introduces two new methods in PPF synthesis: Modified reflu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1711.04422 شماره
صفحات -
تاریخ انتشار 2017